Skip to content

Complete library/multiprocessing#348

Merged
JulienPalard merged 9 commits into
python:3.7from
entwanne:multiprocessing
Oct 23, 2018
Merged

Complete library/multiprocessing#348
JulienPalard merged 9 commits into
python:3.7from
entwanne:multiprocessing

Conversation

@entwanne

@entwanne entwanne commented Oct 4, 2018

Copy link
Copy Markdown
Collaborator
  • Rebaser et squasher les commits fixup

@entwanne entwanne changed the title [WIP] library/ultiprocessing [WIP] library/multiprocessing Oct 4, 2018
Comment thread library/multiprocessing.po Outdated
"Interpreter Lock` en utilisant des processus plutôt que des *threads*. "
"Ainsi, le module :mod:`multiprocessing` permet au développeur de bénéficier "
"entièrement des multiples processeurs sur une machine. Il tourne à la fois "
"sur les systèmes Unix et Windows."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/paquet/module ?
s/Le paquet multiprocessing offre à la fois.../Il offre à la fois.../

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je préfère conserver le terme « paquet » quand il est utilisé sur la page originale. Et pour la seconde remarque, j'aurais aimé le faire mais ça provoque une erreur lors de la compilation parce qu'on n'a plus autant de références dans le texte source que dans le texte traduit.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah oui ! J'avais oublié ce détail !

Comment thread library/multiprocessing.po Outdated
"unlinked until the next reboot.)"
msgstr ""
"Sous Unix, utiliser les méthodes de démarrage *spawn* ou *forkserver* "
"démarrera aussi un processus *semaphore tracker* qui traquera les sémaphores "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je crois que l'on préfère le présent au futur (@christopheNan)

Comment thread library/multiprocessing.po Outdated
"They are, however, slower than using shared memory."
msgstr ""
"Les processus serveurs de gestionnaires sont plus flexibles que les mémoires "
"partagées parce qu'ils peuvent supporter des des types d'objets arbitraires. "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/supporter/gérer/, répétition de "des"

@christopheNan christopheNan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci pour ce très gros travail. La contribution est de très bonne qualité. Quelques remarques générales :
Souvent l'anglais utilise "should" que l'on traduit plutôt par "doit" en français (sinon le programmeur français pourrait se sentir autorisé à transgresser la règle).
Le texte anglais utilise le futur à l'occasion. Souvent, le présent en français est plus adéquat.
sémaphore est masculin.
Merci d'essayer de traduire l'ensemble des termes (par exemple timeout, deadlock, buffer, socket, ...). Il est très rare que le mot ou l'expression française n'existe pas pour les concepts utilisés en Python. Cette traduction s'adresse à priori à des personnes ayant peu de connaissances en anglais ou en informatique ; à mon avis, l'utilisation de termes français facilite la compréhension des concepts sous-jacents.
Bémol à la remarque précédente : les termes sont parfois des paramètres nommés des fonctions. Il faut alors trouver le bon équilibre entre l'utilisation du nom de paramètre (en anglais) et le concept (en français).

Comment thread library/multiprocessing.po Outdated
":mod:`multiprocessing` est un paquet qui permet l'instanciation de processus "
"via la même API que le module :mod:`threading`. Le paquet :mod:"
"`multiprocessing` offre à la fois des possibilités de programmation "
"concurrente locale ou à distance, évitant les problèmes du :term:`Global "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/évitant/contournant/ ?

Comment thread library/multiprocessing.po Outdated
"module. This basic example of data parallelism using :class:"
"`~multiprocessing.pool.Pool`, ::"
msgstr ""
"Le module :mod:`multiprocessing` introduit aussi des APIs sans analogues "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

en français, les acronymes ne prennent pas la marque du pluriel : s/APIs/API/

Comment thread library/multiprocessing.po Outdated
"`~multiprocessing.pool.Pool`, ::"
msgstr ""
"Le module :mod:`multiprocessing` introduit aussi des APIs sans analogues "
"dans le module :mod:`threading`. Un exemple de cela est l'objet :class:"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"de cela" est inutile.

Comment thread library/multiprocessing.po Outdated
"`~multiprocessing.pool.Pool` qui offre une manière pratique de paralléliser "
"l'exécution d'une fonction sur de multiples valeurs d'entrée, distribuant "
"ces valeurs entre les processus (parallélisme de données). L'exemple suivant "
"présente la manière commune de définir une telle fonction dans un module "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/commune/classique/ ?

Comment thread library/multiprocessing.po Outdated
#: ../Doc/library/multiprocessing.rst:40
msgid "will print to standard output ::"
msgstr ""
msgstr "affichera sur la sortie standard : ::"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le futur est inutile à mon avis.

Comment thread library/multiprocessing.po Outdated
msgstr ""
"Les objets de connexion autorisent l'envoi et la réception d'objets "
"sérialisables ou de chaînes de caractères. Ils peuvent être vus comme des "
"*sockets* connectées orientées messages."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

socket : interface de connexion

Comment thread library/multiprocessing.po Outdated
"though it depends on the OS) may raise a :exc:`ValueError` exception."
msgstr ""
"L'objet doit être sérialisable. Les *pickles* très larges (approximativement "
"32 MiB+, bien que cela dépende de l'OS) pourront lever une exception :exc:"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/MiB/Mo/ (ou Mio si vraiment la différence a un sens, ce que je ne pense pas d'après le "approximativement").

Comment thread library/multiprocessing.po Outdated
msgstr ""
"La méthode :meth:`Connection.recv` désérialise automatiquement les données "
"qu'elle reçoit, ce qui peut être un risque de sécurité à moins que vous ne "
"soyez sûr du processus émetteur du message."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/soyez sûr/fassiez réellement confiance/ ?

Comment thread library/multiprocessing.po Outdated
"maximum pendant ce nombre spécifié de secondes, tant que le verrou ne peut "
"être acquis. Les invocations avec une valeur de *timeout* négatives sont "
"équivalents à zéro. Les invocations avec un *timeout* à ``None`` (par "
"défaut) correspondent à un délai d'attente infi. Notez que le traitement des "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/infi/infini/

Comment thread library/multiprocessing.po Outdated
"used in :keyword:`with` statements."
msgstr ""
":class:`Lock` supporte le protocole :term:`context manager` et peut ainsi "
"être utilisé avec une instruction :keyword:`with`."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/utilisé/utilisée/ (la classe)

@christopheNan christopheNan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci d'essayer de traduire l'ensemble des termes : wrapper, process-safe, lock, proxy, callable

Comment thread library/multiprocessing.po Outdated
"which allow one to use it to store and retrieve strings."
msgstr ""
"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et "
"*raw* qui permettent de l'utilisé pour stocker et récupérer des chaînes de "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/utilisé/utiliser/

Comment thread library/multiprocessing.po Outdated
"initialize the array and whose length determines the length of the array."
msgstr ""
"*typecode_or_type* détermine le type des éléments du tableau renvoyé : il "
"s'agit soit d'un type *ctype* soit d'un caractère *typecode* tel qu'utilisé "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

un caractère codant le type des éléments du tableau (le typecode)

Comment thread library/multiprocessing.po Outdated
"documentation for :mod:`ctypes`."
msgstr ""
"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et "
"*raw* qui permettent de l'utilisé pour stocker et récupérer des chaînes de "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/utilisé/utiliser/

Comment thread library/multiprocessing.po Outdated
"peut être utilisé pour partager des objets entre les processus. L'objet "
"gestionnaire renvoyé correspond à un processus enfant instancié et possède "
"des méthodes pour créer des objets partagés et renvoyer les *proxies* "
"correspondant."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/correspondant/correspondants/

Comment thread library/multiprocessing.po Outdated
msgstr ""
"Il est possible de lancer un serveur gestionnaire sur une machine et d'avoir "
"des clients l'utilisant sur d'autres machines (en supposant que les pare-feu "
"impliqués l'autorise)."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

les pare-feux impliqués l'autorisent.

@entwanne entwanne left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci pour vos retours, je fais en sorte de corriger tout ça au plus vite.
Désolé de ne pas être revenu dessus pendant le sprint, je préférais rester focalisé pour arriver au bout du module.

Comment thread library/multiprocessing.po Outdated
"Interpreter Lock` en utilisant des processus plutôt que des *threads*. "
"Ainsi, le module :mod:`multiprocessing` permet au développeur de bénéficier "
"entièrement des multiples processeurs sur une machine. Il tourne à la fois "
"sur les systèmes Unix et Windows."

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je préfère conserver le terme « paquet » quand il est utilisé sur la page originale. Et pour la seconde remarque, j'aurais aimé le faire mais ça provoque une erreur lors de la compilation parce qu'on n'a plus autant de références dans le texte source que dans le texte traduit.

Comment thread library/multiprocessing.po Outdated
@entwanne

entwanne commented Oct 7, 2018

Copy link
Copy Markdown
Collaborator Author

J'ai corrigé la plupart des remarques, je ferai une seconde passe de relecture et de correction des anglicismes.
Ainsi que les erreurs Travis. :)

@JulienPalard

Copy link
Copy Markdown
Member

Ça me semble mature. C'est c'est bon pour toi @entwanne tu peux enlver le WIP.

Comment thread library/multiprocessing.po Outdated

#: ../Doc/library/multiprocessing.rst:2848
msgid ""
"An example showing how to use queues to feed tasks to a collection of worker "
"processes and collect the results:"
msgstr ""
"Un exemple montrant comment utiliser des queues pour délivrer les tâches à "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

délivrer est un anglicisme. alimenter en ?

@entwanne

Copy link
Copy Markdown
Collaborator Author

@JulienPalard Je dois encore corriger la plupart des anglicismes, j'aurai pas le temps ce week-end mais ça devrait être bon en début de semaine.

@entwanne

Copy link
Copy Markdown
Collaborator Author

J'ai corrigé la majeure partie des anglicismes, et simplement conservé les wrappers et process-safe que je trouve bien plus clairs que leurs possibles traduction (emballages, sûr entre les processus).

@entwanne entwanne changed the title [WIP] library/multiprocessing Complete library/multiprocessing Oct 15, 2018

@christopheNan christopheNan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mes propositions pour "process-safe"

"créé pour synchroniser l'accès à la valeur. Si *lock* est un objet :class:"
"`Lock` ou :class:`RLock` alors il sera utilisé pour synchroniser l'accès à "
"la valeur. Si *lock* vaut ``False``, l'accès à l'objet renvoyé ne sera pas "
"automatiquement protégé par un verrou, donc il ne sera pas forcément "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ce qui rend son utilisation hasardeuse dans un contexte avec de multiples fils d'exécution ou multi-processus.


#: ../Doc/library/multiprocessing.rst:1465
msgid ""
"The same as :func:`RawArray` except that depending on the value of *lock* a "
"process-safe synchronization wrapper may be returned instead of a raw ctypes "
"array."
msgstr ""
"Identique à :func:`RawArray` à l'exception que suivant la valeur de *lock* "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sauf que, suivant la valeur de lock, le tableau ctypes brut renvoyé pourra être encapsulé dans un objet gérant la synchronisation entre des fils d'exécution ou des processus.

@JulienPalard
JulienPalard merged commit b257e33 into python:3.7 Oct 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants